<?php
/**
 * 图文素材 管理
 *
 * @author    Alex Xun xunzhibin@expert.com
 * @version   1.0
 * @copyright (C) 2018 Jnexpert Ltd. All rights reserved
 * @file      material\controller\v1\News.php
 */

namespace app\material\controller\v1;

use controller\BasicWechat;

/**
 * 图文素材 控制类
 *
 * @author Alex Xun xunzhibin@jnexpert.com
 * @package controller
 */
class News extends BasicWechat
{
    /**
     * 公众号 第三方库 初始化
     *
     * 根据具体所需服务，实例不同的接口类
     *
     * @author Alex Xun xunzhibin@jnexpert.com
     */
    protected function initVendor()
    {
        // 实例化 第三方库
        $this->wechat = new \WeChat\Media($this->config);
    }

    /**
     * 新增
     *
     * 添加多图文素材
     *
     * @author Alex Xun xunzhibin@jnexpert.com
     */
    public function create()
    {
        // 新增
        $result = $this->wechat->addNews($this->data);

        // 响应
        return $this->response($result, true);
    }

    /**
     * 更新
     *
     * 通过media_id，修改指定图文素材
     *
     * @author Alex Xun xunzhibin@jnexpert.com
     */
    public function update()
    {
        // 更新
        $result = $this->wechat->updateNews(
            $this->data['media_id'],
            $this->data['index'],
            $this->data['news']
        );

        // 响应
        return $this->response($result);
    }

    /**
     * 上传 图片
     *
     * 图文消息内容中，外部图片url将被过滤，必须使用微信内部url
     *
     * @author Alex Xun xunzhibin@jnexpert.com
     */
    public function uploadimg()
    {
        // 上传文件
        if(! $this->uploadSaveFile) {
            throw new \think\exception\ValidateException('Upload file not exist');
        }

        // 上传
        $result = $this->wechat->uploadimg($this->uploadSaveFile);

        // 响应
        return $this->response($result, true);
    }
}
